# 使用 nodejs 的缩小版作为镜像,因为需要 npm 安装依赖包和执行命令
FROM node:18-alpine as builder

# 设置工作目为/app
WORKDIR /app

# 将 package.json 复制到根目录
COPY package.json .

# 设置 node-sass 的下载源 并设置 npm 的源 下载依赖包
RUN npm install --registry=https://registry.npmmirror.com/


# 复制所有源代码到根目录
COPY . .

# 执行 npm run build 进行编译
RUN npm run build
RUN npm prune --production

# 使用 nginx 缩小版作为基础镜像
FROM nginx:latest

# 将构建的 dist 目录复制到/usr/share/nginx/html 此目录后进行 nginx 代理,启动 nginx 后可以访问
COPY --from=builder /app/dist /usr/share/nginx/html
